<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Navo Portable Library: navo/algorithm/nonlinear/binary/treaplnk.h文件参考</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- 制作者 Doxygen 1.7.3 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'搜索');
--></script>
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Navo Portable Library&#160;<span id="projectnumber">Ver 1.0.20120827</span></div>
   <div id="projectbrief">Provides generic platform independent facilities.</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>首页</span></a></li>
      <li><a href="modules.html"><span>模块</span></a></li>
      <li><a href="annotated.html"><span>数据结构</span></a></li>
      <li class="current"><a href="files.html"><span>文件</span></a></li>
      <li id="searchli">
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="搜索" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>文件列表</span></a></li>
      <li><a href="globals.html"><span>全局定义</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#nested-classes">数据结构</a> &#124;
<a href="#define-members">宏定义</a> &#124;
<a href="#typedef-members">类型定义</a> &#124;
<a href="#func-members">函数</a>  </div>
  <div class="headertitle">
<h1>navo/algorithm/nonlinear/binary/treaplnk.h文件参考</h1>  </div>
</div>
<div class="contents">

<p>Linked treap.  
<a href="#_details">更多...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="cdef_8h_source.html">../../../port/cdef.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="integer_8h_source.html">../../../port/integer.h</a>&quot;</code><br/>
</div>
<p><a href="treaplnk_8h_source.html">浏览该文件的源代码。</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
数据结构</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct____treaplnk__node.html">__treaplnk_node</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">树堆节点  <a href="struct____treaplnk__node.html#_details">更多...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtreaplnk__root.html">treaplnk_root</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">树根  <a href="structtreaplnk__root.html#_details">更多...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtreaplnk__info.html">treaplnk_info</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">树信息表  <a href="structtreaplnk__info.html#_details">更多...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="define-members"></a>
宏定义</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4f84019de5befe7876cbf58fe84ae384"></a><!-- doxytag: member="treaplnk.h::__NV_TREAPLNK__" ref="a4f84019de5befe7876cbf58fe84ae384" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>__NV_TREAPLNK__</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#gae43b34feae059ffecefd491a89bc7f09">TREAPLNK_ROOT</a>(name)&#160;&#160;&#160;<a class="el" href="structtreaplnk__root.html">treaplnk_root</a> name = {NULL}</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">定义一个名为name的树根，并对其初始化  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#gae43b34feae059ffecefd491a89bc7f09"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga4ab24c4e62e36e89e27f8d7a4fa3149b">TREAPLNK_NODE</a>(name)&#160;&#160;&#160;<a class="el" href="struct____treaplnk__node.html">treaplnk_node</a> name = {NULL, NULL, NULL, 0}</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">定义一个名为name的节点，并对其初始化  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga4ab24c4e62e36e89e27f8d7a4fa3149b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga7d3bd03455d4ac4b07695da1561ac52d">TREAPLNK_INFO</a>(name)&#160;&#160;&#160;<a class="el" href="structtreaplnk__info.html">treaplnk_info</a> name = {0, 0, 0}</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">定义一个名为name的树信息表，并对其初始化  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga7d3bd03455d4ac4b07695da1561ac52d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2b8d6bb9789641ed54d971da2f4d7976"></a><!-- doxytag: member="treaplnk.h::treaplnk_inc" ref="ga2b8d6bb9789641ed54d971da2f4d7976" args="(itr)" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga2b8d6bb9789641ed54d971da2f4d7976">treaplnk_inc</a>(itr)&#160;&#160;&#160;((itr) = treaplnk_next(itr))</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">迭代器递增 <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga49e38700e1a751927091febf09c6f1dc"></a><!-- doxytag: member="treaplnk.h::treaplnk_dec" ref="ga49e38700e1a751927091febf09c6f1dc" args="(itr)" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga49e38700e1a751927091febf09c6f1dc">treaplnk_dec</a>(itr)&#160;&#160;&#160;((itr) = treaplnk_prev(itr))</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">迭代器递减 <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa17763173a4fb80564079a86cc9f7eca"></a><!-- doxytag: member="treaplnk.h::treaplnk_inc_later" ref="gaa17763173a4fb80564079a86cc9f7eca" args="(itr)" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#gaa17763173a4fb80564079a86cc9f7eca">treaplnk_inc_later</a>(itr)&#160;&#160;&#160;__treaplnk_inc_later(itr, &amp;(itr))</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">迭代器后自增 <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga374159c0572248286e172bd53a90b96c"></a><!-- doxytag: member="treaplnk.h::treaplnk_dec_later" ref="ga374159c0572248286e172bd53a90b96c" args="(itr)" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga374159c0572248286e172bd53a90b96c">treaplnk_dec_later</a>(itr)&#160;&#160;&#160;__treaplnk_dec_later(itr, &amp;(itr))</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">迭代器后自减 <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga8837c939518ae0edb8a0dc9325a0692c">treaplnk_foreach</a>(_begin, _end, fn, type, member)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">正向遍历_begin到_end的节点，并为每一个节点调用回调函数或宏  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga8837c939518ae0edb8a0dc9325a0692c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga676ec355adc879995dfcaa2d08ef9b53">treaplnk_reverse_foreach</a>(_rbegin, _rend, fn, type, member)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">逆向遍历_begin到_end的节点，并为每一个节点调用回调函数或宏  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga676ec355adc879995dfcaa2d08ef9b53"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga8f36380b2f733d0e16a5e99b3058c6e6">TREAPLNK_RECURSE_PROC</a>(name, type, param)&#160;&#160;&#160;void name(type * param)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">定义递归遍历回调函数  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga8f36380b2f733d0e16a5e99b3058c6e6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga2e08d0567b5bebd37192d2997c05f7a6">treaplnk_recurse_foreach</a>(root, fn, type, member)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">正向递归遍历整个树  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga2e08d0567b5bebd37192d2997c05f7a6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga2954703560aba06e10390cecd55ce874">treaplnk_recurse_reverse_foreach</a>(root, fn, type, member)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">逆向递归遍历整个树  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga2954703560aba06e10390cecd55ce874"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#gace2efa644b7ebd855208b023d9e298d1">treaplnk_search</a>(root, newly, greater, res, type, member)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">搜索树中的某个节点  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#gace2efa644b7ebd855208b023d9e298d1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga0596a3dbc9f19ed80f25ed406590539a">treaplnk_insert</a>(root, newly, greater, res, type, member)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">插入新节点  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga0596a3dbc9f19ed80f25ed406590539a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#gad43d55a99cb69cce140b881eac510614">treaplnk_serialize</a>(root, buf, type, member)&#160;&#160;&#160;__treaplnk_serialize(root, (void**)(buf), offset_of(type, member))</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">将树进行序列化为一个有序序列  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#gad43d55a99cb69cce140b881eac510614"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga69bc92914978fa2ad835fe250bbaad8c">treaplnk_deserialize</a>(root, buf, cnt, type, member)&#160;&#160;&#160;__treaplnk_deserialize(root, (char**)(buf), cnt, offset_of(type, member))</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">根据树的序列进行反序列化为一个完整的树  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga69bc92914978fa2ad835fe250bbaad8c"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="typedef-members"></a>
类型定义</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf6b43fa9ed65d27786f3d63b27d5b783"></a><!-- doxytag: member="treaplnk.h::treaplnk_node" ref="gaf6b43fa9ed65d27786f3d63b27d5b783" args="" -->
typedef struct <a class="el" href="struct____treaplnk__node.html">__treaplnk_node</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#gaf6b43fa9ed65d27786f3d63b27d5b783">treaplnk_node</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">节点 <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga4b4308fba0d58f5079b69ba269bacb01"></a><!-- doxytag: member="treaplnk.h::treaplnk_iter" ref="ga4b4308fba0d58f5079b69ba269bacb01" args="" -->
typedef struct <a class="el" href="struct____treaplnk__node.html">__treaplnk_node</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga4b4308fba0d58f5079b69ba269bacb01">treaplnk_iter</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">迭代器 <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga12473c60d17919848883f04bfa09a5a5"></a><!-- doxytag: member="treaplnk.h::treaplnk_pr1" ref="ga12473c60d17919848883f04bfa09a5a5" args=")(treaplnk_node *)" -->
typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga12473c60d17919848883f04bfa09a5a5">treaplnk_pr1</a> )(<a class="el" href="struct____treaplnk__node.html">treaplnk_node</a> *)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">单参数回调函数指针 <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaafa3ea646d74cd8a0b8bb71ab2b727d7"></a><!-- doxytag: member="treaplnk.h::treaplnk_pr2" ref="gaafa3ea646d74cd8a0b8bb71ab2b727d7" args=")(treaplnk_node *, treaplnk_node *)" -->
typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#gaafa3ea646d74cd8a0b8bb71ab2b727d7">treaplnk_pr2</a> )(<a class="el" href="struct____treaplnk__node.html">treaplnk_node</a> *, <a class="el" href="struct____treaplnk__node.html">treaplnk_node</a> *)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">双参数回调函数指针 <br/></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
函数</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">NV_API size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#gad66cce0995090f8ff4e255e45d83e927">treaplnk_count</a> (<a class="el" href="structtreaplnk__root.html">treaplnk_root</a> *root)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">获取树的节点总数  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#gad66cce0995090f8ff4e255e45d83e927"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">NV_API size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga4dbe3b5512bf8d6407cef0ff821d316c">treaplnk_distance</a> (<a class="el" href="struct____treaplnk__node.html">treaplnk_iter</a> first, <a class="el" href="struct____treaplnk__node.html">treaplnk_iter</a> last)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">计算两个节点的迭代距离  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga4dbe3b5512bf8d6407cef0ff821d316c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">NV_API size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga45104dc4d6a3c99f0ca6adb26a1ba60b">treaplnk_index_of</a> (<a class="el" href="structtreaplnk__root.html">treaplnk_root</a> *root, <a class="el" href="struct____treaplnk__node.html">treaplnk_iter</a> itr)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">计算迭代器的正向索引  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga45104dc4d6a3c99f0ca6adb26a1ba60b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">NV_API size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#gae3d748d30e5da2583bb3bc3b12ca68db">treaplnk_reverse_index_of</a> (<a class="el" href="structtreaplnk__root.html">treaplnk_root</a> *root, <a class="el" href="struct____treaplnk__node.html">treaplnk_iter</a> itr)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">计算迭代器的逆向索引  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#gae3d748d30e5da2583bb3bc3b12ca68db"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">NV_API size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga69bd6cd659eb01cee33b211cc5883fab">treaplnk_depth</a> (<a class="el" href="structtreaplnk__root.html">treaplnk_root</a> *root)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">计算树的深度  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga69bd6cd659eb01cee33b211cc5883fab"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">NV_API size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga0e528fc27a6476cf7cac10305a4bc191">treaplnk_leafs</a> (<a class="el" href="structtreaplnk__root.html">treaplnk_root</a> *root)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">计算树的叶子数  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga0e528fc27a6476cf7cac10305a4bc191"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">NV_API void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#gac1c3d37dd05e4d469eff62eebc4bb483">treaplnk_get_info</a> (<a class="el" href="structtreaplnk__root.html">treaplnk_root</a> *root, <a class="el" href="structtreaplnk__info.html">treaplnk_info</a> *info)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">获取树的信息，包括节点数、深度、叶子数  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#gac1c3d37dd05e4d469eff62eebc4bb483"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">NV_API void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#gaae88f9f0194b5721af46c65d5dea2078">treaplnk_fix</a> (<a class="el" href="structtreaplnk__root.html">treaplnk_root</a> *root, <a class="el" href="struct____treaplnk__node.html">treaplnk_node</a> *node, <a class="el" href="struct____treaplnk__node.html">treaplnk_node</a> *parent)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">修正树  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#gaae88f9f0194b5721af46c65d5dea2078"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">NV_API void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#gafdefc8690af7387b1f376247e69b9ad7">treaplnk_erase</a> (<a class="el" href="structtreaplnk__root.html">treaplnk_root</a> *root, <a class="el" href="struct____treaplnk__node.html">treaplnk_node</a> *entry)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">移除某个节点  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#gafdefc8690af7387b1f376247e69b9ad7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">NV_API void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga0157ffea5e9b1a9d9bd903d8c6a518d8">treaplnk_erases</a> (<a class="el" href="structtreaplnk__root.html">treaplnk_root</a> *root, <a class="el" href="struct____treaplnk__node.html">treaplnk_iter</a> begin, <a class="el" href="struct____treaplnk__node.html">treaplnk_iter</a> end, <a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga12473c60d17919848883f04bfa09a5a5">treaplnk_pr1</a> erase_handler)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">移除区域内的节点  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga0157ffea5e9b1a9d9bd903d8c6a518d8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#gac7e32a548f651a2b676985202b54e661">treaplnk_init</a> (<a class="el" href="structtreaplnk__root.html">treaplnk_root</a> *root)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">初始化树根  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#gac7e32a548f651a2b676985202b54e661"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga96e53af6fe7142244a05e80bce0b3eb0">treaplnk_empty</a> (<a class="el" href="structtreaplnk__root.html">treaplnk_root</a> *root)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">判断树是否为空  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga96e53af6fe7142244a05e80bce0b3eb0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga553084764927049b0831fac0c19a7580"></a><!-- doxytag: member="treaplnk.h::__treaplnk_singular" ref="ga553084764927049b0831fac0c19a7580" args="(treaplnk_node *root)" -->
static int&#160;</td><td class="memItemRight" valign="bottom"><b>__treaplnk_singular</b> (<a class="el" href="struct____treaplnk__node.html">treaplnk_node</a> *root)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#gad66345b9a303383b3df2c5028d86f1f9">treaplnk_singular</a> (<a class="el" href="structtreaplnk__root.html">treaplnk_root</a> *root)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">判断树是否只有单个节点  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#gad66345b9a303383b3df2c5028d86f1f9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga0633509d7f4416a090815f50a95a7a63">treaplnk_serialable</a> (<a class="el" href="structtreaplnk__root.html">treaplnk_root</a> *root)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">判断树是否可以序列化  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga0633509d7f4416a090815f50a95a7a63"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="struct____treaplnk__node.html">treaplnk_iter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga358134910aadd9d7580dbf0fed03bc31">treaplnk_left</a> (<a class="el" href="struct____treaplnk__node.html">treaplnk_node</a> *node)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">得到左子节点  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga358134910aadd9d7580dbf0fed03bc31"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="struct____treaplnk__node.html">treaplnk_iter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga055771881b33a6f1b5c69c8fd0177c1e">treaplnk_right</a> (<a class="el" href="struct____treaplnk__node.html">treaplnk_node</a> *node)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">得到右子节点  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga055771881b33a6f1b5c69c8fd0177c1e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="struct____treaplnk__node.html">treaplnk_iter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#gafd4f501b5392c966d7f7ccb6253ec465">treaplnk_parent</a> (<a class="el" href="struct____treaplnk__node.html">treaplnk_node</a> *node)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">得到父节点  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#gafd4f501b5392c966d7f7ccb6253ec465"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga1f4ff7046c020cd7a83d88fc43f4da18">treaplnk_priority</a> (<a class="el" href="struct____treaplnk__node.html">treaplnk_node</a> *node)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">得到节点的优先权  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga1f4ff7046c020cd7a83d88fc43f4da18"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#gaeb5c0d6ab3522c1816b6834675be2828">treaplnk_is_root</a> (<a class="el" href="struct____treaplnk__node.html">treaplnk_iter</a> itr)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">判断当前节点是否是根节点  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#gaeb5c0d6ab3522c1816b6834675be2828"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#gae0ca77682f8559c79d5dc71bbc07756e">treaplnk_is_leaf</a> (<a class="el" href="struct____treaplnk__node.html">treaplnk_iter</a> itr)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">判断当前节点是否是叶子节点  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#gae0ca77682f8559c79d5dc71bbc07756e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga33f96e3db43b13c620d9ecf47be03418">treaplnk_link</a> (<a class="el" href="struct____treaplnk__node.html">treaplnk_iter</a> newly, <a class="el" href="struct____treaplnk__node.html">treaplnk_iter</a> parent, <a class="el" href="struct____treaplnk__node.html">treaplnk_iter</a> *plink)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">链接两个节点  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga33f96e3db43b13c620d9ecf47be03418"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#gaeb412c8138afd90d9d2e271b641c52ac">treaplnk_set_priority</a> (<a class="el" href="struct____treaplnk__node.html">treaplnk_node</a> *node, size_t priority)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">设置当前节点的优先权  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#gaeb412c8138afd90d9d2e271b641c52ac"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga603045fe815f3b650f3086b3747bb6a9">treaplnk_set_parent_if</a> (<a class="el" href="struct____treaplnk__node.html">treaplnk_node</a> *node, <a class="el" href="struct____treaplnk__node.html">treaplnk_node</a> *parent)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">仅在node不为空时，设置node的父节点  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga603045fe815f3b650f3086b3747bb6a9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#gae3353c18c25b1b4c315a2407f2499b59">treaplnk_node_init</a> (<a class="el" href="struct____treaplnk__node.html">treaplnk_node</a> *node)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">初始化节点  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#gae3353c18c25b1b4c315a2407f2499b59"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga10f0160bf916bb920848d908af696f17">treaplnk_iter_replace</a> (<a class="el" href="structtreaplnk__root.html">treaplnk_root</a> *root, <a class="el" href="struct____treaplnk__node.html">treaplnk_iter</a> victim, <a class="el" href="struct____treaplnk__node.html">treaplnk_iter</a> newly)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">用新节点替换旧节点  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga10f0160bf916bb920848d908af696f17"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#gaf149eeeee5ce68eab7d07287ecc1f43b">treaplnk_replace</a> (<a class="el" href="structtreaplnk__root.html">treaplnk_root</a> *victim, <a class="el" href="structtreaplnk__root.html">treaplnk_root</a> *newly)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">用新的树根替换旧树根  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#gaf149eeeee5ce68eab7d07287ecc1f43b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#gafd4471880ecdda0e76f9f6ca214805a6">treaplnk_swap</a> (<a class="el" href="structtreaplnk__root.html">treaplnk_root</a> *a, <a class="el" href="structtreaplnk__root.html">treaplnk_root</a> *b)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">交换两个树  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#gafd4471880ecdda0e76f9f6ca214805a6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">NV_API int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga4cb4d2e7f6c2518f504eaee046450c4c">treaplnk_exist</a> (<a class="el" href="structtreaplnk__root.html">treaplnk_root</a> *root, <a class="el" href="struct____treaplnk__node.html">treaplnk_iter</a> itr)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">判断一个节点是否存在于树中  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga4cb4d2e7f6c2518f504eaee046450c4c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="struct____treaplnk__node.html">treaplnk_iter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga9961c3e28ad5d8bf2e1c599f0f0c0886">treaplnk_at</a> (<a class="el" href="structtreaplnk__root.html">treaplnk_root</a> *root, size_t index)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">得到正向索引对应的节点的迭代器  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga9961c3e28ad5d8bf2e1c599f0f0c0886"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="struct____treaplnk__node.html">treaplnk_iter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#gae10f61d50563cd0731692ce8b1ab0cbb">treaplnk_reverse_at</a> (<a class="el" href="structtreaplnk__root.html">treaplnk_root</a> *root, size_t index)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">得到逆向索引对应的节点的迭代器  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#gae10f61d50563cd0731692ce8b1ab0cbb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">NV_API <a class="el" href="struct____treaplnk__node.html">treaplnk_iter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga912adb278fdbb3938e29e0bcf2f58c6e">treaplnk_front</a> (<a class="el" href="structtreaplnk__root.html">treaplnk_root</a> *root)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">得到树的最左端节点  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga912adb278fdbb3938e29e0bcf2f58c6e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">NV_API <a class="el" href="struct____treaplnk__node.html">treaplnk_iter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga2215902aa2d70496fccdb14fcf8da0ce">treaplnk_back</a> (<a class="el" href="structtreaplnk__root.html">treaplnk_root</a> *root)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">得到树的最右端节点  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga2215902aa2d70496fccdb14fcf8da0ce"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="struct____treaplnk__node.html">treaplnk_iter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#gaf5df84d890ae7dc07c210fead0d826ec">treaplnk_begin</a> (<a class="el" href="structtreaplnk__root.html">treaplnk_root</a> *root)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">得到指向正向起始位置的迭代器  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#gaf5df84d890ae7dc07c210fead0d826ec"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="struct____treaplnk__node.html">treaplnk_iter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#gad590259a18b3e07fde596e1cd7dd135f">treaplnk_end</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">得到指向正向终止位置的迭代器  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#gad590259a18b3e07fde596e1cd7dd135f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="struct____treaplnk__node.html">treaplnk_iter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga12c517e1858f21365e26e5217ccb45af">treaplnk_end_of</a> (<a class="el" href="struct____treaplnk__node.html">treaplnk_iter</a> cur)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">得到当前迭代器的正向终止位置  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga12c517e1858f21365e26e5217ccb45af"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="struct____treaplnk__node.html">treaplnk_iter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#gaaf3b3ffd977431ffbe9d7e24ee09e9e9">treaplnk_rbegin</a> (<a class="el" href="structtreaplnk__root.html">treaplnk_root</a> *root)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">得到指向逆向起始位置的迭代器  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#gaaf3b3ffd977431ffbe9d7e24ee09e9e9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="struct____treaplnk__node.html">treaplnk_iter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#gaab7748cacfeacd6f160350c2f37d89bf">treaplnk_rend</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">得到指向逆向终止位置的迭代器  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#gaab7748cacfeacd6f160350c2f37d89bf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="struct____treaplnk__node.html">treaplnk_iter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga2a2dcd287fdd62bdd0d9cbbf60caeb60">treaplnk_rend_of</a> (<a class="el" href="struct____treaplnk__node.html">treaplnk_iter</a> cur)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">得到当前迭代器的逆向终止位置  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga2a2dcd287fdd62bdd0d9cbbf60caeb60"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">NV_API <a class="el" href="struct____treaplnk__node.html">treaplnk_iter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga4ef2c4a4f07589b1dae6b47c09ce790a">treaplnk_next</a> (<a class="el" href="struct____treaplnk__node.html">treaplnk_iter</a> cur)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">得到当前节点的中序后继节点  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga4ef2c4a4f07589b1dae6b47c09ce790a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">NV_API <a class="el" href="struct____treaplnk__node.html">treaplnk_iter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#gacdde57d39d567fc2b5dbc661f67bef08">treaplnk_prev</a> (<a class="el" href="struct____treaplnk__node.html">treaplnk_iter</a> cur)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">得到当前节点的中序前驱节点  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#gacdde57d39d567fc2b5dbc661f67bef08"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">NV_API <a class="el" href="struct____treaplnk__node.html">treaplnk_iter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga71d356704e6ae0fd1b686ac10fce28eb">treaplnk_advance</a> (<a class="el" href="struct____treaplnk__node.html">treaplnk_iter</a> cur, int dist)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">给迭代器增加一段距离或减小一段距离  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga71d356704e6ae0fd1b686ac10fce28eb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#gadfbee5eebd305e1c30dcfc00b536dbfb">treaplnk_clear</a> (<a class="el" href="structtreaplnk__root.html">treaplnk_root</a> *root, <a class="el" href="group___xE6_xA0_x91_xE5_xA0_x86.html#ga12473c60d17919848883f04bfa09a5a5">treaplnk_pr1</a> erase_handler)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">清空树  <a href="group___xE6_xA0_x91_xE5_xA0_x86.html#gadfbee5eebd305e1c30dcfc00b536dbfb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3e851c80f6d2d057f292a71027f5b3a9"></a><!-- doxytag: member="treaplnk.h::__treaplnk_inc_later" ref="ga3e851c80f6d2d057f292a71027f5b3a9" args="(treaplnk_iter cur, treaplnk_iter *p)" -->
static <a class="el" href="struct____treaplnk__node.html">treaplnk_iter</a>&#160;</td><td class="memItemRight" valign="bottom"><b>__treaplnk_inc_later</b> (<a class="el" href="struct____treaplnk__node.html">treaplnk_iter</a> cur, <a class="el" href="struct____treaplnk__node.html">treaplnk_iter</a> *p)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga86c26306f59b70c5b518059fffc6a00d"></a><!-- doxytag: member="treaplnk.h::__treaplnk_dec_later" ref="ga86c26306f59b70c5b518059fffc6a00d" args="(treaplnk_iter cur, treaplnk_iter *p)" -->
static <a class="el" href="struct____treaplnk__node.html">treaplnk_iter</a>&#160;</td><td class="memItemRight" valign="bottom"><b>__treaplnk_dec_later</b> (<a class="el" href="struct____treaplnk__node.html">treaplnk_iter</a> cur, <a class="el" href="struct____treaplnk__node.html">treaplnk_iter</a> *p)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gafd6c08f1fb1b1ae2936b5aca6dd00fe1"></a><!-- doxytag: member="treaplnk.h::__do_treaplnk_recurse_foreach" ref="gafd6c08f1fb1b1ae2936b5aca6dd00fe1" args="(treaplnk_iter cur, void(*fn)(void *), size_t offset)" -->
NV_API void&#160;</td><td class="memItemRight" valign="bottom"><b>__do_treaplnk_recurse_foreach</b> (<a class="el" href="struct____treaplnk__node.html">treaplnk_iter</a> cur, void(*fn)(void *), size_t offset)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga1b326be7338045a913f6b08e3b80e1c7"></a><!-- doxytag: member="treaplnk.h::__do_treaplnk_recurse_reverse_foreach" ref="ga1b326be7338045a913f6b08e3b80e1c7" args="(treaplnk_iter cur, void(*fn)(void *), size_t offset)" -->
NV_API void&#160;</td><td class="memItemRight" valign="bottom"><b>__do_treaplnk_recurse_reverse_foreach</b> (<a class="el" href="struct____treaplnk__node.html">treaplnk_iter</a> cur, void(*fn)(void *), size_t offset)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6040bfe966b46c26c766cd51d69c819d"></a><!-- doxytag: member="treaplnk.h::__treaplnk_recurse_foreach" ref="ga6040bfe966b46c26c766cd51d69c819d" args="(treaplnk_root *root, void(*fn)(void *), size_t offset)" -->
static void&#160;</td><td class="memItemRight" valign="bottom"><b>__treaplnk_recurse_foreach</b> (<a class="el" href="structtreaplnk__root.html">treaplnk_root</a> *root, void(*fn)(void *), size_t offset)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6f61a077b50d5ecd4e2410496e51c05e"></a><!-- doxytag: member="treaplnk.h::__treaplnk_recurse_reverse_foreach" ref="ga6f61a077b50d5ecd4e2410496e51c05e" args="(treaplnk_root *root, void(*fn)(void *), size_t offset)" -->
static void&#160;</td><td class="memItemRight" valign="bottom"><b>__treaplnk_recurse_reverse_foreach</b> (<a class="el" href="structtreaplnk__root.html">treaplnk_root</a> *root, void(*fn)(void *), size_t offset)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga617460e11f3567b4b6d2f6b775a4f79f"></a><!-- doxytag: member="treaplnk.h::__treaplnk_serialize" ref="ga617460e11f3567b4b6d2f6b775a4f79f" args="(treaplnk_root *root, void **buf, size_t offset)" -->
NV_API void&#160;</td><td class="memItemRight" valign="bottom"><b>__treaplnk_serialize</b> (<a class="el" href="structtreaplnk__root.html">treaplnk_root</a> *root, void **buf, size_t offset)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga391443a36ebc4ad789811f0f897acaae"></a><!-- doxytag: member="treaplnk.h::__treaplnk_deserialize" ref="ga391443a36ebc4ad789811f0f897acaae" args="(treaplnk_root *root, char **buf, size_t cnt, size_t offset)" -->
NV_API void&#160;</td><td class="memItemRight" valign="bottom"><b>__treaplnk_deserialize</b> (<a class="el" href="structtreaplnk__root.html">treaplnk_root</a> *root, char **buf, size_t cnt, size_t offset)</td></tr>
</table>
<hr/><a name="_details"></a><h2>详细描述</h2>
<div class="textblock"><p>Linked treap. </p>
<p>Copyright (C) 2012-2022, Henry Kwok 郭弘扬. All rights reserved </p>

<p>在文件<a class="el" href="treaplnk_8h_source.html">treaplnk.h</a>中定义。</p>
</div></div>
<!--- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>全部</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>数据结构</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>文件</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>函数</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>变量</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>类型定义</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>宏定义</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<hr class="footer"/><address class="footer"><small>Generated at 2015年七月16日 星期四 12:00:40 for Navo Portable Library by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address>
</body>
</html>
